1. Field of the Invention
The present invention relates to robotics and, more specifically, to a balance controller for controlling a humanoid robot.
2. Description of the Related Arts
Balance maintenance is one of the most important technical challenges in the design of humanoid robots. Although the basic dynamics of balance are currently understood, robust and general controllers that can deal with discrete and non-level foot support as well as large, unexpected and unknown external disturbances such as moving support, slip, and trip have not yet emerged. Especially, in comparison with the elegance and versatility of human balance, present day robots are quite deficient. In order for humanoid robots to coexist with humans in the real world, more advanced balance controllers that can deal with a broad range of environment conditions and external perturbations are desirable.
Until recently, most conventional balance control techniques have attempted to maintain balance by controlling only the linear motion of a robot. In some such techniques, the input joint angle trajectories change to modify the position of the Center of Pressure (CoP), a point within the robot's support area through which the resultant Ground Reaction Force (GRF) acts. When the CoP, computed from the input joint motion, leaves the support base (indicating a possible toppling of a foot) the motion is modified to bring the CoP back inside the support base while the robot still follows the desired linear motion of the Center of Mass (CoM). The rotational motion of the robot is more or less ignored in these approaches.
However, rotational dynamics of a robot plays a significant role in balance. A control strategy narrowly focusing only on the linear CoM motion can inadvertently allow unnecessary and potentially harmful rotational motion of the robot. Some conventional balance controllers avoid this problem somewhat heuristically, e.g., by kinematically controlling the orientation of the trunk or by adding a specific joint space controller. However, unlike humans who tightly regulate angular momentum during gait, these previous techniques do not control the robot's rotational dynamics directly. As a result, these prior techniques fail to achieve robust humanoid movements for balance control. Furthermore, these prior techniques fail to provide adequate balance control for a humanoid robot attempting to maintain balance on non-level and/or non-stationary ground.